package com.imaker.utils;


/**
 * 该类封装了对字符串进行相关的加密操作
 * @author mayonghua
 *
 */
public class StringHelper {
	
	/**
	 * 将字符串的首字母改为小写
	 * @return
	 */
	public static String lowerCase_first(String str){
		String returnStr = "";
		if(!"".equals(str)){
		char[] array = str.toCharArray();
			if(array[0]>='A'&&array[0]<='Z'){
				array[0]=(char)(array[0]+32);
			}
			returnStr = new String(array);
		}
		return returnStr;
	}
	
	/**
	 * 将字符串的首字母改为大写
	 * @param str
	 * @return
	 */
	public static String upperCase_first(String str){
		String returnStr = "";
		if(!"".equals(str)){
		char[] array = str.toCharArray();
			if(array[0]>='a'&&array[0]<='z'){
				array[0]=(char)(array[0]-32);
			}
			returnStr = new String(array);
		}
		return returnStr;
	}
	
	/**
	 * 按照指定规则对字符串进行分割
	 * @param str
	 * @param reg 正则表达式
	 * @return
	 */
	public static String[] stringToArray(String str,String reg){
		if(!Validate.notNull(str))
			return null;
//		如果用户没有指定规则，那么则按照非单词字符进行分割
		String regs = "".equals(reg)?"\\W":reg;
		String[] array = str.trim().split(regs);
		return array;
	}
	
	/**
	 * 获得指定文件名称的前缀,就是"."之前的部分
	 * @param str
	 * @return
	 */
	public static String getPrefixName(String str){
		if(!Validate.notNull(str))
			return "";
		return str.substring(0,str.lastIndexOf("."));
	}
	
	/**
	 * 获得指定文件名称的后缀,就是"."之后的部分
	 * @param str
	 * @param reg 如果为TRUE则包含"." 否则不包含"."
	 * @return
	 */
	public static String getSuffName(String str,boolean reg){
		if(!Validate.notNull(str))
			return "";
		if(reg)
		return str.substring(str.lastIndexOf("."));
		else
		return str.substring(str.lastIndexOf(".")+1);
	}
	
	/**
	 * 该方法就是过滤掉字符串null情况
	 * @param str
	 * @return
	 */
	public static String filterNull(String str){
		return str=str==null?"":str;
	}
}
